package file;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.io.File;
import java.io.FileFilter;
/**
 * 重载的listFiles方法
 * File[]listFiles(FileFilter filter)
 * 该方法要求我们传入一个文件过滤器，然后又将该目录中满足这个过滤器要求的
 * 子项返回
 */

public class ListFilesDemo2 {
    public static void main(String[] args) {
        //获取当前目录下的所有文本文件(.txt文件)
        File dir = new File(".");
        if(dir.isDirectory()){
            /*
            使用匿名内部类形式定义过滤器
             */
            FileFilter filter = new FileFilter() {
                public boolean accept(File file) {
                    String name = file.getName();
                    System.out.println("正在过滤：" + name);
                    return name.endsWith(".txt");
                }
            };
            File[] subs = dir.listFiles(filter);
            System.out.println(subs.length);
            for(int i = 0;i<subs.length;i++){
                System.out.println(subs[i].getName());
            }
        }
    }

}
/*class MyFilter implements FileFilter {
    public boolean accept(File file) {
        String name = file.getName();
        System.out.println("正在过滤：" + name);
        return name.endsWith(".txt");
    }
}*/